"""
假如需要传递n个参数时，怎么操作呢？
"""


def outer(origin):
    def inner(*args, **kwargs):
        print("before...")
        res = origin(*args, **kwargs)  # 调用目标函数
        print("after...")
        return res

    return inner


@outer
def func1(a1):
    print("我是func1")


@outer
def func2(a1, a2):
    print("我是func2")


@outer
def func3(a1):
    print("我是func3")


func1(1)
print("--------------")
func2(200, a2=360)
print("--------------")
func3(999)
